.class public Lnbisdk/kv;
.super Ljava/lang/Object;


# instance fields
.field private w:I

.field private x:I


# direct methods
.method private constructor <init>()V
    .locals 0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public constructor <init>(I)V
    .locals 2

    const/4 v0, 0x1

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput v0, p0, Lnbisdk/kv;->w:I

    iput v0, p0, Lnbisdk/kv;->x:I

    :goto_0
    iget v0, p0, Lnbisdk/kv;->x:I

    if-ge v0, p1, :cond_0

    iget v0, p0, Lnbisdk/kv;->x:I

    iget v1, p0, Lnbisdk/kv;->w:I

    add-int/2addr v0, v1

    iput v0, p0, Lnbisdk/kv;->x:I

    iget v0, p0, Lnbisdk/kv;->x:I

    iget v1, p0, Lnbisdk/kv;->w:I

    sub-int/2addr v0, v1

    iput v0, p0, Lnbisdk/kv;->w:I

    goto :goto_0

    :cond_0
    return-void
.end method

.method public static a(DDDD[D)D
    .locals 6

    invoke-static {p0, p1}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p0

    invoke-static {p0, p1}, Lnbisdk/kv;->i(D)D

    move-result-wide p0

    invoke-static {p2, p3}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p2

    invoke-static {p2, p3}, Lnbisdk/kv;->j(D)D

    move-result-wide p2

    invoke-static {p4, p5}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p4

    invoke-static {p4, p5}, Lnbisdk/kv;->i(D)D

    move-result-wide p4

    invoke-static {p6, p7}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p6

    invoke-static {p6, p7}, Lnbisdk/kv;->j(D)D

    move-result-wide p6

    sub-double v0, p4, p0

    sub-double p2, p6, p2

    const-wide/16 p6, 0x0

    cmpl-double p6, v0, p6

    if-nez p6, :cond_0

    const-wide/16 p6, 0x0

    cmpl-double p6, p2, p6

    if-nez p6, :cond_0

    const-wide/16 p0, 0x0

    :goto_0
    return-wide p0

    :cond_0
    const-wide/16 p6, 0x0

    const-wide/16 v2, 0x0

    cmpl-double v2, p2, v2

    if-ltz v2, :cond_4

    const-wide v2, 0x400921fb54442d18L

    cmpl-double v2, p2, v2

    if-lez v2, :cond_1

    const-wide v2, 0x401921fb54442d18L

    cmpg-double v2, p2, v2

    if-gtz v2, :cond_1

    const-wide v2, 0x401921fb54442d18L

    sub-double/2addr p2, v2

    :cond_1
    :goto_1
    const-wide/16 v2, 0x0

    cmpl-double v2, p2, v2

    if-nez v2, :cond_6

    const-wide/16 p0, 0x0

    cmpl-double p0, v0, p0

    if-lez p0, :cond_5

    const-wide/16 p0, 0x0

    :cond_2
    :goto_2
    const-wide/16 p6, 0x0

    cmpl-double p6, p2, p6

    if-nez p6, :cond_e

    const-wide/16 p2, 0x0

    cmpl-double p2, v0, p2

    if-ltz p2, :cond_d

    move-wide p2, v0

    :goto_3
    const-wide p4, 0x415854aac0000000L

    mul-double/2addr p2, p4

    if-eqz p8, :cond_3

    const/4 p4, 0x0

    invoke-static {p0, p1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide p0

    aput-wide p0, p8, p4

    :cond_3
    move-wide p0, p2

    goto :goto_0

    :cond_4
    const-wide v2, -0x3fe6de04abbbd2e8L

    cmpl-double v2, p2, v2

    if-lez v2, :cond_1

    const-wide v2, -0x3ff6de04abbbd2e8L

    cmpg-double v2, p2, v2

    if-gez v2, :cond_1

    const-wide v2, 0x401921fb54442d18L

    add-double/2addr p2, v2

    goto :goto_1

    :cond_5
    const-wide/16 p0, 0x0

    cmpg-double p0, v0, p0

    if-gez p0, :cond_10

    const-wide p0, 0x400921fb54442d18L

    goto :goto_2

    :cond_6
    invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D

    move-result-wide v2

    invoke-static {p4, p5}, Ljava/lang/Math;->tan(D)D

    move-result-wide v4

    mul-double/2addr v2, v4

    invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D

    move-result-wide p0

    invoke-static {p2, p3}, Ljava/lang/Math;->cos(D)D

    move-result-wide v4

    mul-double/2addr p0, v4

    sub-double p0, v2, p0

    invoke-static {p2, p3}, Ljava/lang/Math;->sin(D)D

    move-result-wide v2

    div-double/2addr p0, v2

    const-wide v2, -0x411b074a771c970fL

    cmpl-double v2, p0, v2

    if-lez v2, :cond_8

    const-wide v2, 0x3ee4f8b588e368f1L

    cmpg-double v2, p0, v2

    if-gez v2, :cond_8

    const-wide/16 p0, 0x0

    cmpl-double p0, p2, p0

    if-lez p0, :cond_7

    const-wide p0, 0x3ff921fb54442d18L

    goto :goto_2

    :cond_7
    const-wide/16 p0, 0x0

    cmpg-double p0, p2, p0

    if-gez p0, :cond_10

    const-wide p0, 0x4012d97c7f3321d2L

    goto/16 :goto_2

    :cond_8
    const-wide/high16 p6, 0x3ff0

    div-double p0, p6, p0

    invoke-static {p0, p1}, Lnbisdk/ah;->atan(D)D

    move-result-wide p0

    const-wide/16 p6, 0x0

    cmpl-double p6, p0, p6

    if-lez p6, :cond_9

    const-wide/16 p6, 0x0

    cmpl-double p6, p2, p6

    if-gtz p6, :cond_2

    :cond_9
    const-wide/16 p6, 0x0

    cmpl-double p6, p0, p6

    if-lez p6, :cond_a

    const-wide/16 p6, 0x0

    cmpg-double p6, p2, p6

    if-ltz p6, :cond_b

    :cond_a
    const-wide/16 p6, 0x0

    cmpg-double p6, p0, p6

    if-gez p6, :cond_c

    const-wide/16 p6, 0x0

    cmpl-double p6, p2, p6

    if-lez p6, :cond_c

    :cond_b
    const-wide p6, 0x400921fb54442d18L

    add-double/2addr p0, p6

    goto/16 :goto_2

    :cond_c
    const-wide/16 p6, 0x0

    cmpg-double p6, p0, p6

    if-gez p6, :cond_2

    const-wide/16 p6, 0x0

    cmpg-double p6, p2, p6

    if-gez p6, :cond_2

    const-wide p6, 0x401921fb54442d18L

    add-double/2addr p0, p6

    goto/16 :goto_2

    :cond_d
    neg-double p2, v0

    goto/16 :goto_3

    :cond_e
    invoke-static {p2, p3}, Ljava/lang/Math;->sin(D)D

    move-result-wide p2

    invoke-static {p4, p5}, Ljava/lang/Math;->cos(D)D

    move-result-wide p4

    mul-double/2addr p2, p4

    invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D

    move-result-wide p4

    div-double/2addr p2, p4

    const-wide/16 p4, 0x0

    cmpl-double p4, p2, p4

    if-ltz p4, :cond_f

    const-wide/high16 p4, 0x3ff0

    mul-double p6, p2, p2

    sub-double/2addr p4, p6

    invoke-static {p4, p5}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide p4

    div-double/2addr p2, p4

    invoke-static {p2, p3}, Lnbisdk/ah;->atan(D)D

    move-result-wide p2

    goto/16 :goto_3

    :cond_f
    const-wide/high16 p4, 0x3ff0

    mul-double p6, p2, p2

    sub-double/2addr p4, p6

    invoke-static {p4, p5}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide p4

    div-double/2addr p2, p4

    invoke-static {p2, p3}, Lnbisdk/ah;->atan(D)D

    move-result-wide p2

    neg-double p2, p2

    goto/16 :goto_3

    :cond_10
    move-wide p0, p6

    goto/16 :goto_2
.end method

.method public static a(DDD[D[D)V
    .locals 4

    invoke-static {p0, p1}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p0

    invoke-static {p2, p3}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p2

    const-wide/high16 v0, 0x4000

    div-double/2addr p4, v0

    const-wide v0, 0x415848fd6e50b45cL

    div-double/2addr p4, v0

    add-double v0, p0, p4

    invoke-static {v0, v1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide v0

    const-wide v2, 0x4056800000000000L

    cmpl-double v2, v0, v2

    if-lez v2, :cond_0

    const-wide v0, 0x4056800000000000L

    :cond_0
    sub-double/2addr p0, p4

    invoke-static {p0, p1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide p0

    const-wide v2, -0x3fa9800000000000L

    cmpg-double v2, p0, v2

    if-gez v2, :cond_1

    const-wide p0, -0x3fa9800000000000L

    :cond_1
    const/4 v2, 0x0

    aput-wide v0, p6, v2

    const/4 v0, 0x0

    aput-wide p0, p7, v0

    invoke-static {p2, p3}, Lnbisdk/kv;->j(D)D

    move-result-wide p0

    sub-double p2, p0, p4

    invoke-static {p2, p3}, Lnbisdk/kv;->n(D)D

    move-result-wide p2

    invoke-static {p2, p3}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide p2

    add-double/2addr p0, p4

    invoke-static {p0, p1}, Lnbisdk/kv;->n(D)D

    move-result-wide p0

    invoke-static {p0, p1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide p0

    const/4 p4, 0x1

    aput-wide p2, p6, p4

    const/4 p2, 0x1

    aput-wide p0, p7, p2

    return-void
.end method

.method public static a(DD[D[D)V
    .locals 7

    const/4 v6, 0x0

    invoke-static {p2, p3}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Lnbisdk/kv;->m(D)D

    move-result-wide v0

    aput-wide v0, p4, v6

    invoke-static {p0, p1}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Lnbisdk/kv;->l(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Math;->tan(D)D

    move-result-wide v2

    const-wide/high16 v4, 0x3ff0

    invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D

    move-result-wide v0

    div-double v0, v4, v0

    add-double/2addr v0, v2

    invoke-static {v0, v1}, Lnbisdk/ah;->log(D)D

    move-result-wide v0

    aput-wide v0, p5, v6

    return-void
.end method

.method public static b(DD[D[D)V
    .locals 5

    const/4 v4, 0x0

    invoke-static {p0, p1}, Lnbisdk/kv;->k(D)D

    move-result-wide v0

    invoke-static {p2, p3}, Lnbisdk/kv;->k(D)D

    move-result-wide v2

    if-eqz p5, :cond_0

    invoke-static {v0, v1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide v0

    aput-wide v0, p5, v4

    :cond_0
    if-eqz p4, :cond_1

    invoke-static {v2, v3}, Lnbisdk/ah;->sinh(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Lnbisdk/ah;->atan(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide v0

    aput-wide v0, p4, v4

    :cond_1
    return-void
.end method

.method public static c(DDDD)D
    .locals 4

    invoke-static {p0, p1}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p0

    invoke-static {p0, p1}, Lnbisdk/kv;->i(D)D

    move-result-wide p0

    invoke-static {p2, p3}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p2

    invoke-static {p2, p3}, Lnbisdk/kv;->j(D)D

    move-result-wide p2

    invoke-static {p4, p5}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p4

    invoke-static {p4, p5}, Lnbisdk/kv;->i(D)D

    move-result-wide p4

    invoke-static {p6, p7}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide p6

    invoke-static {p6, p7}, Lnbisdk/kv;->j(D)D

    move-result-wide p6

    sub-double v0, p4, p0

    sub-double p2, p6, p2

    const-wide/16 p6, 0x0

    cmpl-double p6, v0, p6

    if-nez p6, :cond_1

    const-wide/16 p6, 0x0

    cmpl-double p6, p2, p6

    if-nez p6, :cond_1

    const-wide/16 p0, 0x0

    :cond_0
    :goto_0
    return-wide p0

    :cond_1
    const-wide/16 p6, 0x0

    const-wide/16 v2, 0x0

    cmpl-double v2, p2, v2

    if-ltz v2, :cond_3

    const-wide v2, 0x400921fb54442d18L

    cmpl-double v2, p2, v2

    if-lez v2, :cond_2

    const-wide v2, 0x401921fb54442d18L

    cmpg-double v2, p2, v2

    if-gtz v2, :cond_2

    const-wide v2, 0x401921fb54442d18L

    sub-double/2addr p2, v2

    :cond_2
    :goto_1
    const-wide/16 v2, 0x0

    cmpl-double v2, p2, v2

    if-nez v2, :cond_5

    const-wide/16 p0, 0x0

    cmpl-double p0, v0, p0

    if-lez p0, :cond_4

    const-wide/16 p0, 0x0

    goto :goto_0

    :cond_3
    const-wide v2, -0x3fe6de04abbbd2e8L

    cmpl-double v2, p2, v2

    if-lez v2, :cond_2

    const-wide v2, -0x3ff6de04abbbd2e8L

    cmpg-double v2, p2, v2

    if-gez v2, :cond_2

    const-wide v2, 0x401921fb54442d18L

    add-double/2addr p2, v2

    goto :goto_1

    :cond_4
    const-wide/16 p0, 0x0

    cmpg-double p0, v0, p0

    if-gez p0, :cond_c

    const-wide p0, 0x400921fb54442d18L

    goto :goto_0

    :cond_5
    invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D

    move-result-wide v0

    invoke-static {p4, p5}, Ljava/lang/Math;->tan(D)D

    move-result-wide p4

    mul-double/2addr p4, v0

    invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D

    move-result-wide p0

    invoke-static {p2, p3}, Ljava/lang/Math;->cos(D)D

    move-result-wide v0

    mul-double/2addr p0, v0

    sub-double p0, p4, p0

    invoke-static {p2, p3}, Ljava/lang/Math;->sin(D)D

    move-result-wide p4

    div-double/2addr p0, p4

    const-wide p4, -0x411b074a771c970fL

    cmpl-double p4, p0, p4

    if-lez p4, :cond_7

    const-wide p4, 0x3ee4f8b588e368f1L

    cmpg-double p4, p0, p4

    if-gez p4, :cond_7

    const-wide/16 p0, 0x0

    cmpl-double p0, p2, p0

    if-lez p0, :cond_6

    const-wide p0, 0x3ff921fb54442d18L

    goto/16 :goto_0

    :cond_6
    const-wide/16 p0, 0x0

    cmpg-double p0, p2, p0

    if-gez p0, :cond_c

    const-wide p0, 0x4012d97c7f3321d2L

    goto/16 :goto_0

    :cond_7
    const-wide/high16 p4, 0x3ff0

    div-double p0, p4, p0

    invoke-static {p0, p1}, Lnbisdk/ah;->atan(D)D

    move-result-wide p0

    const-wide/16 p4, 0x0

    cmpl-double p4, p0, p4

    if-lez p4, :cond_8

    const-wide/16 p4, 0x0

    cmpl-double p4, p2, p4

    if-gtz p4, :cond_0

    :cond_8
    const-wide/16 p4, 0x0

    cmpl-double p4, p0, p4

    if-lez p4, :cond_9

    const-wide/16 p4, 0x0

    cmpg-double p4, p2, p4

    if-ltz p4, :cond_a

    :cond_9
    const-wide/16 p4, 0x0

    cmpg-double p4, p0, p4

    if-gez p4, :cond_b

    const-wide/16 p4, 0x0

    cmpl-double p4, p2, p4

    if-lez p4, :cond_b

    :cond_a
    const-wide p2, 0x400921fb54442d18L

    add-double/2addr p0, p2

    goto/16 :goto_0

    :cond_b
    const-wide/16 p4, 0x0

    cmpg-double p4, p0, p4

    if-gez p4, :cond_0

    const-wide/16 p4, 0x0

    cmpg-double p2, p2, p4

    if-gez p2, :cond_0

    const-wide p2, 0x401921fb54442d18L

    add-double/2addr p0, p2

    goto/16 :goto_0

    :cond_c
    move-wide p0, p6

    goto/16 :goto_0
.end method

.method private static i(D)D
    .locals 6

    const-wide v4, 0x401921fb54442d18L

    move-wide v0, p0

    :goto_0
    const-wide v2, -0x3ff6de04abbbd2e8L

    cmpg-double v2, v0, v2

    if-gez v2, :cond_0

    add-double/2addr v0, v4

    goto :goto_0

    :cond_0
    :goto_1
    const-wide v2, 0x400921fb54442d18L

    cmpl-double v2, v0, v2

    if-lez v2, :cond_1

    sub-double/2addr v0, v4

    goto :goto_1

    :cond_1
    return-wide v0
.end method

.method private static j(D)D
    .locals 6

    const-wide v4, 0x401921fb54442d18L

    move-wide v0, p0

    :goto_0
    const-wide/16 v2, 0x0

    cmpg-double v2, v0, v2

    if-gez v2, :cond_0

    add-double/2addr v0, v4

    goto :goto_0

    :cond_0
    :goto_1
    cmpl-double v2, v0, v4

    if-ltz v2, :cond_1

    sub-double/2addr v0, v4

    goto :goto_1

    :cond_1
    return-wide v0
.end method

.method private static k(D)D
    .locals 5

    const-wide v3, 0x400921fb54442d18L

    const-wide v1, -0x3ff6de04abbbd2e8L

    cmpg-double v0, p0, v1

    if-gez v0, :cond_1

    move-wide v0, v1

    :goto_0
    cmpl-double v2, v0, v3

    if-lez v2, :cond_0

    move-wide v0, v3

    :cond_0
    return-wide v0

    :cond_1
    move-wide v0, p0

    goto :goto_0
.end method

.method public static l(D)D
    .locals 7

    const-wide v5, 0x3ff8da7e39bae2a5L

    const-wide v3, -0x40072581c6451d5bL

    move-wide v0, p0

    :goto_0
    cmpg-double v2, v0, v3

    if-gez v2, :cond_0

    move-wide v0, v3

    goto :goto_0

    :cond_0
    :goto_1
    cmpl-double v2, v0, v5

    if-lez v2, :cond_1

    move-wide v0, v5

    goto :goto_1

    :cond_1
    return-wide v0
.end method

.method public static m(D)D
    .locals 6

    const-wide v4, 0x401921fb54442d18L

    move-wide v0, p0

    :goto_0
    const-wide v2, -0x3ff6de04abbbd2e8L

    cmpg-double v2, v0, v2

    if-gez v2, :cond_0

    add-double/2addr v0, v4

    goto :goto_0

    :cond_0
    :goto_1
    const-wide v2, 0x400921fb54442d18L

    cmpl-double v2, v0, v2

    if-ltz v2, :cond_1

    sub-double/2addr v0, v4

    goto :goto_1

    :cond_1
    return-wide v0
.end method

.method private static n(D)D
    .locals 5

    const-wide v3, 0x400921fb54442d18L

    const-wide v1, 0x401921fb54442d18L

    cmpg-double v0, v1, p0

    if-gtz v0, :cond_0

    cmpg-double v0, p0, v3

    if-gez v0, :cond_0

    add-double v0, p0, v1

    :goto_0
    return-wide v0

    :cond_0
    cmpg-double v0, v3, p0

    if-gez v0, :cond_1

    cmpg-double v0, p0, v1

    if-gez v0, :cond_1

    sub-double v0, p0, v1

    goto :goto_0

    :cond_1
    move-wide v0, p0

    goto :goto_0
.end method


# virtual methods
.method public hI()Z
    .locals 2

    const/4 v1, 0x1

    iget v0, p0, Lnbisdk/kv;->x:I

    if-gt v0, v1, :cond_0

    move v0, v1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public next()I
    .locals 2

    iget v0, p0, Lnbisdk/kv;->x:I

    iget v1, p0, Lnbisdk/kv;->w:I

    sub-int/2addr v0, v1

    iput v0, p0, Lnbisdk/kv;->w:I

    iget v0, p0, Lnbisdk/kv;->x:I

    iget v1, p0, Lnbisdk/kv;->w:I

    sub-int/2addr v0, v1

    iput v0, p0, Lnbisdk/kv;->x:I

    iget v0, p0, Lnbisdk/kv;->x:I

    return v0
.end method
